#ifndef DEFECTDETECTIONDIALOG_H
#define DEFECTDETECTIONDIALOG_H

#include <QDialog>
#include "../parameter/seatdetection.h"
#include "../cnn/Yolo.h"
#include "../view/cameraviewwidget.h"
#include "../view/camerainfowidget.h"
#include "../log/logger.h"

namespace Ui {
class DefectDetectionDialog;
}

class DefectDetectionDialog : public QDialog
{
    Q_OBJECT

public:
    explicit DefectDetectionDialog(QWidget *parent = nullptr);
    ~DefectDetectionDialog();

private slots:
    void on_pushButtonExit_clicked();

    void on_pushButtonIsolation_clicked();

    void on_pushButtonReset_clicked();

    void on_pushButtonRelease_clicked();

public slots:
    void on_receiveMessage(QString msg);

public:
    void on_updateSubImage_signal(int index);

    void ClearImageViewWidgetContent();

private:
    void InitImageViewWidget();

    void InitwidgetSeatPicture();

    void InitLogger();

    CameraViewWidget        **m_ppImageCameraViewWidgets;
    CameraInfoWidget        **m_ppInfoWidgets;

private:
    SeatDetection       *m_pSeatDetection;
    QString             m_strLog;

    Logger*             m_pLogger;
    QString             m_strFileName;

private:
    Ui::DefectDetectionDialog *ui;
};

#endif // DEFECTDETECTIONDIALOG_H
